Video stabilization is used to remove unintended annoying vibrations occurred during video capturing. Digital video stabilization involves estimating camera motion trajectory and subjecting it to a filtering process to eliminate any motion jitter, in order to produce smooth and stabilized video output. In particular, camera motion trajectory is obtained by estimating the so-called “global motion” between two input video frames consecutively in time.
Global motion estimation depicts how the camera body moves between a pair of input frames, based on the estimated displacement between corresponding points from the two frames. If the global motion is represented by a motion model, the model needs to be estimated, usually in the form of a transformation matrix. Generally, there are two stages involved in global motion estimation, displacement estimation that generates two sets of mapped points, followed by model estimation. The calculations involved in global motion estimation can be quite complex and resource consuming.
Filtering removes parasitic vibration and can help make output video appear smooth by calculating a so-called stabilization matrix. The stabilization matrix may be applied to corresponding video frames within a frame synthesizer to temporarily realign the frame. Prior filters are fairly complex, and also consume significant resources.